/**
 * TP GRUPO _ 
 * ALGORITMOS Y PROGRAMACION III
 */

package modelo;
import excepciones.EDivisionPorCero;
/**
 * @author Grupo _
 */


public class FuncionDerivada extends FuncionParametrica{
 
 private double cocienteIncremental;
                             
 public FuncionDerivada(Funcion funcion,double cocienteIncremental){
  this.setFuncion(funcion);
  this.cocienteIncremental=cocienteIncremental;
 }

 public double calcular(double x){    //Formula de la derivada segun cocientes incrementales
  return dividir((this.getFuncion().calcular(x+cocienteIncremental)-this.getFuncion().calcular(x)),cocienteIncremental);
 }

 
 /**
  * @param cocienteIncremental El cocienteIncremental a establecer.
  */
 public void setCocienteIncremental(double cocienteIncremental) {
  this.cocienteIncremental = cocienteIncremental;
 }

  public static double dividir (double dividendo, double divisor )throws EDivisionPorCero {
     if ( divisor == 0)
         throw new EDivisionPorCero();
     else return dividendo/divisor;
    }
 
}
      
